package com.ifcreate.infowell.common.util;

import com.ifcreate.infowell.common.exception.CustomException;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.StringUtils;

import java.util.Map;

/**
 * @Author PuaChen
 * @Create 2018-09-18 16:42
 */
public class FieldCheckUtil {

    /**
     * 判断Map 集合中的 所指定的字段是否有为空的，其中有一个成立返回false
     * 全部都不为空 返回真true
     *
     * @param map
     * @param args
     * @return
     */
    public static boolean isMapFieldNotNull(Map map, String... args) {
        if (MapUtils.isEmpty(map) || args == null || args.length == 0) {
            return false;
        }
        for (String arg : args) {
            if (StringUtils.isBlank(MapUtils.getString(map, arg))) {
                return false;
            }
        }
        return true;
    }

    /**
     * 校验多个数据不为空不为null
     *
     * @param args
     */
    public static void checkFieldNotBlankAll(Object... args) {
        for (Object arg : args) {
            if (arg instanceof String) {
                if (StringUtils.isBlank((String) arg)) {
                    throw new CustomException("参数不完整");
                }
            } else {
                if (arg == null) {
                    throw new CustomException("参数不完整");
                }
            }
        }
    }


}
